package com.kakarote.hrm.entity.BO;

import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

@Data
@ApiModel(value = "部门添加对象")
public class AddDeptBO {

    @TableId(value = "dept_id")
    private Long deptId;

    @ApiModelProperty(value = "父级ID 顶级部门为0")
    private Long parentId;

    @ApiModelProperty(value = "部门类型 1 公司 2 部门")
    @NotNull(message = "部门类型不能为空")
    private Integer deptType;

    @ApiModelProperty(value = "部门名称")
    @NotBlank(message = "部门名称不能为空")
    private String name;

    @ApiModelProperty(value = "部门编码")
//    @NotBlank(message = "部门编码不能为空")
    private String code;

    @ApiModelProperty(value = "部门负责人ID")
    private Long mainEmployeeId;

    @ApiModelProperty(value = "分管领导")
    private String leaderEmployeeId;

    @ApiModelProperty(value = "部门排序号")
    private Long sortId;

    @ExcelProperty(value = "正处编制人数")
    @ApiModelProperty(value = "正处编制人数")
    private Long sectionChiefPreparation;

    @ExcelProperty(value = "正处现配备人数")
    @ApiModelProperty(value = "正处现配备人数")
    private Long sectionChiefNum;

    @ExcelProperty(value = "副处编制人数")
    @ApiModelProperty(value = "副处编制人数")
    private Long deputySectionChiefPreparation;

    @ExcelProperty(value = "副处现配备人数")
    @ApiModelProperty(value = "副处现配备人数")
    private Long deputySectionChiefNum;

    @ExcelProperty(value = "正科编制人数")
    @ApiModelProperty(value = "正科编制人数")
    private Long directorPreparation;

    @ExcelProperty(value = "正科现配备人数")
    @ApiModelProperty(value = "正科现配备人数")
    private Long directorNum;

    @ExcelProperty(value = "副科编制人数")
    @ApiModelProperty(value = "副科编制人数")
    private Long deputyDirectorPreparation;

    @ExcelProperty(value = "副科现配备人数")
    @ApiModelProperty(value = "副科现配备人数")
    private Long deputyDirectorNum;

    @ApiModelProperty(value = "机构板块 1-集团总部 2-公用事业 3-金融投资 4-现代农业 5-工程地产 6-其他板块")
    private Integer orgSector;

    @ApiModelProperty(value = "单位性质 1-合并报表企业 2-托管企业 3-其他")
    private Integer unitProperties;

    @ApiModelProperty(value = "组织性质 1-全资 2-控股 3-参股 4-集体所有制")
    private Integer orgType;
}
